package cn.caplike.demo.repository.design.pattern.combined.annotation.dto;

import cn.caplike.demo.repository.design.pattern.combined.annotation.definition.ApiDataAdapter;
import cn.caplike.demo.repository.design.pattern.combined.annotation.definition.DeserializeDescriptor;
import cn.caplike.demo.repository.design.pattern.combined.annotation.definition.FinanceType;
import cn.caplike.demo.repository.design.pattern.combined.annotation.definition.FinanceVersion;
import lombok.*;

/**
 * 建账资产数据抽象
 *
 * @author LiKe
 * @date 2019-11-03 14:57
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class RequestListData extends DeserializeDescriptor {

    /**
     * 业务号
     */
    @ApiDataAdapter(
            {
                    @ApiDataAdapter.Finance(type = FinanceType.TC, version = FinanceVersion.v20180907_TC, fieldName = "RequestListData#bpmNo-TC-v20180907"),
                    @ApiDataAdapter.Finance(type = FinanceType.TY, version = FinanceVersion.v20190401_TY, fieldName = "RequestListData#bpmNo-TY-v20190401")
            }
    )
    private String bpmNo;

}
